<!doctype html><html lang dir=ltr><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>CISP-PTE - Web 安全基础 | Hui.Ke - Blog</title><meta name=generator content="Hugo Eureka 0.9.3"><link rel=stylesheet href=https://b.hui.ke/css/eureka.min.9cec6350e37e534b0338fa9a085bf06855de3b0f2dcf857e792e5e97b07ea905d4d5513db554cbc26a9c3da622bae92d.css><script defer src=https://b.hui.ke/js/eureka.min.fa9a6bf6d7a50bb635b4cca7d2ba5cf3dfb095ae3798773f1328f7950028b48c17d06276594e1b5f244a25a6c969a705.js></script>
<link rel=preconnect href=https://fonts.googleapis.com><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=preload href="https://fonts.googleapis.com/css2?family=Lora:wght@400;600;700&family=Noto+Serif+SC:wght@400;600;700&display=swap" as=style onload='this.onload=null,this.rel="stylesheet"'><link rel=stylesheet href=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/styles/vs.min.css media=print onload='this.media="all",this.onload=null' crossorigin><script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/highlight.min.js crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/bash.min.js crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/ini.min.js crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/json.min.js crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/php.min.js crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/python.min.js crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/shell.min.js crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/sql.min.js crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/x86asm.min.js crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/xml.min.js crossorigin></script>
<link rel=stylesheet href=https://b.hui.ke/css/highlightjs.min.2958991528e43eb6fc9b8c4f2b8e052f79c4010718e1d1e888a777620e9ee63021c2c57ec7417a3108019bb8c41943e6.css media=print onload='this.media="all",this.onload=null'><script defer type=text/javascript src=https://lib.baomitu.com/font-awesome/6.1.1/js/all.min.js></script>
<link rel=stylesheet href=https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css integrity=sha384-MlJdn/WNKDGXveldHDdyRP1R4CTHr3FeuDNfhsLPYrq2t0UBkUdK2jyTnXPEK1NQ media=print onload='this.media="all",this.onload=null' crossorigin><script defer src=https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js integrity=sha384-VQ8d8WVFw0yHhCk5E8I86oOhv48xLpnDZx5T9GogA/Y84DcCKWXDmSDfn13bzFZY crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js integrity=sha384-+XBljXPPiv+OzfbB3cVmLHf4hdUFHlWNZN5spNQ7rmHTXpd7WvJum6fIACpNNfIR crossorigin></script>
<script>document.addEventListener("DOMContentLoaded",function(){renderMathInElement(document.body,{delimiters:[{left:"$$",right:"$$",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1},{left:"\\[",right:"\\]",display:!0}]})})</script><script defer src=https://cdn.jsdelivr.net/npm/mermaid@8.14.0/dist/mermaid.min.js integrity=sha384-atOyb0FxAgN9LyAc6PEf9BjgwLISyansgdH8/VXQH8p2o5vfrRgmGIJ2Sg22L0A0 crossorigin></script>
<link rel=icon type=image/png sizes=32x32 href=https://b.hui.ke/icon_hub7ca0b5404c6d576559b2bd22c64b0e5_2009_32x32_fill_box_center_3.png><link rel=apple-touch-icon sizes=180x180 href=https://b.hui.ke/icon_hub7ca0b5404c6d576559b2bd22c64b0e5_2009_180x180_fill_box_center_3.png><meta name=description content="  本文是 CISP-PTE Web 安全基础课程的学习笔记。"><script type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Posts","item":"https://b.hui.ke/posts/"},{"@type":"ListItem","position":2,"name":"CISP-PTE - Web 安全基础","item":"https://b.hui.ke/posts/cisp-pte-2/"}]}</script><script type=application/ld+json>{"@context":"https://schema.org","@type":"Article","mainEntityOfPage":{"@type":"WebPage","@id":"https://b.hui.ke/posts/cisp-pte-2/"},"headline":"CISP-PTE - Web 安全基础 | Hui.Ke - Blog","datePublished":"2021-05-11T08:49:39+08:00","dateModified":"2021-05-11T08:49:39+08:00","wordCount":2245,"author":{"@type":"Person","name":"Hui.Ke"},"publisher":{"@type":"Person","name":"Hui.Ke","logo":{"@type":"ImageObject","url":"https://b.hui.ke/icon.png"}},"description":"\u003cp\u003e  本文是 CISP-PTE Web 安全基础课程的学习笔记。\u003c\/p\u003e"}</script><meta property="og:title" content="CISP-PTE - Web 安全基础 | Hui.Ke - Blog"><meta property="og:type" content="article"><meta property="og:image" content="https://b.hui.ke/icon.png"><meta property="og:url" content="https://b.hui.ke/posts/cisp-pte-2/"><meta property="og:description" content="  本文是 CISP-PTE Web 安全基础课程的学习笔记。"><meta property="og:site_name" content="Hui.Ke - Blog"><meta property="article:published_time" content="2021-05-11T08:49:39+08:00"><meta property="article:modified_time" content="2021-05-11T08:49:39+08:00"><meta property="article:section" content="posts"><meta property="article:tag" content="HTTP 协议"><meta property="article:tag" content="响应头"><meta property="og:see_also" content="https://b.hui.ke/posts/cisp-pte-3/"><meta property="og:see_also" content="https://b.hui.ke/posts/cisp-pte-1/"><script>!function(e){"use strict";!function(){var i,s=window,o=document,a=e,c="".concat("https:"===o.location.protocol?"https://":"http://","sdk.51.la/js-sdk-pro.min.js"),n=o.createElement("script"),r=o.getElementsByTagName("script")[0];n.type="text/javascript",n.setAttribute("charset","UTF-8"),n.async=!0,n.src=c,n.id="LA_COLLECT",a.d=n,i=function(){s.LA.ids.push(a)},s.LA?s.LA.ids&&i():(s.LA=e,s.LA.ids=[],i()),r.parentNode.insertBefore(n,r)}()}({id:"Jgb8aUbG5e3rqhrs",ck:"Jgb8aUbG5e3rqhrs",autoTrack:!0,hashMode:!0})</script><body class="flex min-h-screen flex-col"><header class="min-h-16 pl-scrollbar bg-secondary-bg fixed z-50 flex w-full items-center shadow-sm"><div class="mx-auto w-full max-w-screen-xl"><script>let storageColorScheme=localStorage.getItem("lightDarkMode");((storageColorScheme=="Auto"||storageColorScheme==null)&&window.matchMedia("(prefers-color-scheme: dark)").matches||storageColorScheme=="Dark")&&document.getElementsByTagName("html")[0].classList.add("dark")</script><nav class="flex items-center justify-between flex-wrap px-4 py-4 md:py-0"><a href=/ class="me-6 text-primary-text text-xl font-bold">Hui.Ke - Blog</a>
<button id=navbar-btn class="md:hidden flex items-center px-3 py-2" aria-label="Open Navbar">
<i class="fas fa-bars"></i></button><div id=target class="hidden block md:flex md:grow md:justify-between md:items-center w-full md:w-auto text-primary-text z-20"><div class="md:flex md:h-16 text-sm md:grow pb-4 md:pb-0 border-b md:border-b-0"><a href=/posts/ class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 selected-menu-item me-4">Posts</a>
<a href=/docs/ class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 border-transparent me-4">Docs</a>
<a href=/categories/ class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 border-transparent me-4">Categories</a>
<a href=/series/ class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 border-transparent me-4">Series</a>
<a href=/tags/ class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 border-transparent me-4">Tags</a>
<a href=/love/ class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 border-transparent me-4">Love</a>
<a href=/about/ class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 border-transparent me-4">About</a></div><div class=flex><div class="relative pt-4 md:pt-0"><div class="cursor-pointer hover:text-eureka" id=lightDarkMode><i class="fas fa-adjust"></i></div><div class="fixed hidden inset-0 opacity-0 h-full w-full cursor-default z-30" id=is-open></div><div class="absolute flex flex-col start-0 md:start-auto end-auto md:end-0 hidden bg-secondary-bg w-48 rounded py-2 border border-tertiary-bg cursor-pointer z-40" id=lightDarkOptions><span class="px-4 py-1 hover:text-eureka" name=Light>Light</span>
<span class="px-4 py-1 hover:text-eureka" name=Dark>Dark</span>
<span class="px-4 py-1 hover:text-eureka" name=Auto>Auto</span></div></div></div></div><div class="fixed hidden inset-0 opacity-0 h-full w-full cursor-default z-0" id=is-open-mobile></div></nav><script>let element=document.getElementById("lightDarkMode");storageColorScheme==null||storageColorScheme=="Auto"?document.addEventListener("DOMContentLoaded",()=>{window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",switchDarkMode)}):storageColorScheme=="Light"?(element.firstElementChild.classList.remove("fa-adjust"),element.firstElementChild.setAttribute("data-icon","sun"),element.firstElementChild.classList.add("fa-sun")):storageColorScheme=="Dark"&&(element.firstElementChild.classList.remove("fa-adjust"),element.firstElementChild.setAttribute("data-icon","moon"),element.firstElementChild.classList.add("fa-moon")),document.addEventListener("DOMContentLoaded",()=>{getcolorscheme(),switchBurger()})</script></div></header><main class="grow pt-16"><div class=pl-scrollbar><div class="mx-auto w-full max-w-screen-xl lg:px-4 xl:px-8"><div class="grid grid-cols-2 gap-4 lg:grid-cols-8 lg:pt-12"><div class="bg-secondary-bg col-span-2 rounded px-6 py-8 lg:col-span-6"><article class=prose><h1 class=mb-4>CISP-PTE - Web 安全基础</h1><div class="text-tertiary-text not-prose mt-2 flex flex-row flex-wrap items-center"><div class="me-6 my-2"><i class="fas fa-calendar me-1"></i>
<span>2021-05-11</span></div><div class="me-6 my-2"><i class="fa-solid fa-pen-to-square me-1"></i>
<span>2021-05-11</span></div><div class="me-6 my-2"><i class="fas fa-clock me-1"></i>
<span>5 min read</span></div><div class="me-6 my-2"><i class="fas fa-folder me-1"></i>
<a href=https://b.hui.ke/categories/it/ class=hover:text-eureka>IT</a></div><div class="me-6 my-2"><i class="fas fa-th-list me-1"></i>
<a href=https://b.hui.ke/series/cisp-pte/ class=hover:text-eureka>CISP-PTE</a></div><div class="me-6 my-2"><i class="fa-solid fa-eye me-1"></i>
<span id=busuanzi_value_page_pv><i class="fa fa-spinner fa-spin"></i></span> Hits</div></div><p>  本文是 CISP-PTE Web 安全基础课程的学习笔记。</p><h2 id=http-协议>HTTP 协议</h2><h3 id=http-请求方法>HTTP 请求方法</h3><h4 id=http-10-的请求方法>HTTP 1.0 的请求方法</h4><ol><li>GET：可以把数据放在 URL 中传递，也可以不包含任何数据，HTTP 请求只有请求头，没有请求数据</li><li>POST<ol><li>表单格式（application/x-www-form-urlencoded）把数据放在头文件下面的请求正文区</li><li>混合格式（multipart/form-data）有文件上传时常用的方法。可以接受同时提交不同类型的数据</li><li>JSON 格式（application/json）</li><li>XML 格式（text/xml）</li><li>文本（text/plain）</li></ol></li><li>HEAD：只返回头部数据，不返回数据部分的内容。返回的内容基本上与 GET、POST 的返回头一致</li></ol><h4 id=http-11-新增的请求方法>HTTP 1.1 新增的请求方法</h4><ol><li>OPTIONS：默认情况下会返回允许的请求类型。一般需要跨域的时候需要设置</li><li>PUT</li><li>DELETE</li><li>TRACE：让 web 服务器端将客户端的所有请求信息返回给客户端的方法，该方法多见于 debug 的需求</li><li>CONNECT：在特定应用（proxy、SSL 等）走 HTTP 协议时会用到</li></ol><h3 id=http-状态码>HTTP 状态码</h3><h4 id=http-状态码的分类>HTTP 状态码的分类</h4><table><thead><tr><th style=text-align:center>状态码</th><th style=text-align:center>已定义范围</th><th style=text-align:center>分类</th><th>说明</th></tr></thead><tbody><tr><td style=text-align:center>1xx</td><td style=text-align:center>100 ~ 101</td><td style=text-align:center>信息提示</td><td>一般不会出现</td></tr><tr><td style=text-align:center>2xx</td><td style=text-align:center>200 ~ 206</td><td style=text-align:center>成功</td><td>请求返回正常，可能根据请求状况稍微不同</td></tr><tr><td style=text-align:center>3xx</td><td style=text-align:center>300 ~ 307</td><td style=text-align:center>重定向</td><td>请求重定向到其它资源（有可能是本地）</td></tr><tr><td style=text-align:center>4xx</td><td style=text-align:center>400 ~ 417</td><td style=text-align:center>客户端错误</td><td>请求的页面错误（不存在、权限不够等）</td></tr><tr><td style=text-align:center>5xx</td><td style=text-align:center>500 ~ 505</td><td style=text-align:center>服务端错误</td><td>服务端问题（配置、代码等问题）</td></tr></tbody></table><h4 id=http-状态码的含义>HTTP 状态码的含义</h4><p>详细状态码含义请参阅维基百科 <a href=https://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81>HTTP 状态码</a></p><p>用计算机语言获取 HTTP 状态码</p><pre><code class=language-shell>curl -I -m 10 -o /dev/null -s -w &quot;%{http_code}\n&quot; &lt;URL&gt;     # curl
curl -I -m 10 -o /dev/null -s -w &quot;%{http_code}\n&quot; &quot;http://baidu.com&quot;     # curl 举例

import urllib2
urllib2.urlopen('&lt;URL&gt;').code     # Python
urllib2.urlopen('http://baidu.com').code     # Python 举例
</code></pre><h3 id=http-协议响应头信息>HTTP 协议响应头信息</h3><h4 id=http-响应头的类型>HTTP 响应头的类型</h4><h4 id=http-响应头的含义>HTTP 响应头的含义</h4><p>Access：服务器支持哪些请求方法（如 GET、POST 等）。
Content-Encoding：文档的编码（Encode）方法。
Content-Length：表示内容长度。
Content-Type：表示后面的文档属于什么 MIME 类型。
Date：当前的 GMT 时间。
Expires：应该在什么时候认为文档已经过期，从而不再缓存它
Last-Modified：文档的最后改动时间。
Location：表示客户应当到哪里去提取文档。
Refresh：表示浏览器应该在多少时间之后刷新文档（以秒计）。
Server：服务器名字。
Set-Cookie：设置和页面关联的 Cookie。
WWW-Authenticate：标识访问请求实体的身份验证方案。</p><h3 id=http-协议的-url>HTTP 协议的 URL</h3><h4 id=url-的定义>URL 的定义</h4><p>URL 是统一资源定位符，是互联网上标准资源的地址</p><p>URL 包含</p><ol><li>协议</li><li>用户名:密码</li><li>主机 - 子域名.域名.顶级域名（或IP）</li><li>端口号</li><li>目录/文件名.文件后缀</li><li>参数=值</li><li>标志</li></ol><p>URL 协议包含</p><ol><li>http（超文本传输协议资源）</li><li>https（用安全套接字层传送的超文本传输协议）</li><li>ftp（文件传输协议）</li><li>mailto（电子邮件地址）</li><li>ldap（轻型目录访问协议搜索）</li><li>file（当地电脑或网上分享的文件）</li><li>news（Usenet 新闻组）</li><li>gopher（Gopher 协议）</li><li>telnet（Telnet 协议）</li></ol><h4 id=url-的格式>URL 的格式</h4><p>  协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志</p><p>  只有大小写字母、数字、一些特殊符号<code>$-_.+!*‘(),</code>以及某些保留字，才可以不经过编码直接用于 URL</p><p>  编码格式为十六进制，每两个十六进制前加百分号。例如“你好”的 utf-8 码为：\xe4\xbd\xa0\xe5\xa5\xbd，URL – utf-8 格式编码为：%E4%BD%A0%E5%A5%BD</p><h2 id=系统敏感文件>系统敏感文件</h2><h3 id=windows>Windows</h3><pre><code class=language-shell>C:\boot.ini     # 查看系统版本
C:\Windows\System32\inetsrv\MetaBase.xml     # IIS 配置文件
C:\Windows\repair\sam      # 存储系统初次安装的密码
C:\Program Files\mysql\my.ini     # Mysql 配置
C:\Program Files\mysql\data\mysql\user.MYD     # Mysql root
C:\Windows\php.ini     # php 配置信息
C:\Windows\my.ini     # Mysql 配置信息
</code></pre><h3 id=linux>Linux</h3><pre><code class=language-shell>/root/.ssh/authorized_keys
/root/.ssh/id_rsa
/root/.ssh/id_ras.keystore
/root/.ssh/known_hosts
/etc/passwd
/etc/shadow
/etc/my.cnf
/etc/httpd/conf/httpd.conf
/root/.bash_history
/root/.mysql_history
/proc/self/fd/fd[0-9]*(文件标识符)
/proc/mounts
/porc/config.gz
</code></pre><h2 id=cookie-机制>Cookie 机制</h2><p>  在动态网页语言中，某个用户（浏览器）访问（登陆）后，可以一直记录状态，这种状态浏览器使用 Cookie 来保存。</p><p>  服务器通过在 HTTP 响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的 Cookie，然而纯粹的客户端脚本如 JavaScript 或者 VBScript 也可以生成 Cookie。</p><p>   浏览器检查所有存储的 Cookie，如果某个 Cookie 所声明的作用范围大于等于将要请求的资源所在的位置，则把该 Cookie 附在请求资源的 HTTP 请求头上发送给服务器。</p><p>  Cookie 的内容主要包括：名字、值、过期时间、路径和域。</p><p>  如果不设置过期时间，则表示这个 Cookie 的生命期为浏览器会话期间。</p><h2 id=session-机制>Session 机制</h2><p>  Session 机制是一种服务器端的机制，服务器使用一种类似于散列表的结构（也可能就是使用散列表）来保存信息。</p><p>  当程序需要为某个客户端的请求创建一个 Session 的时候，服务器首先检查这个客户端的请求里是否已包含了一个 Session 标识，称为 SESSIONID。</p><p>  如果已包含一个 SESSIONID 则说明以前已经为此客户端创建过 Session，服务器就按照 SESSIONID 把这个 Session 检索出来使用（如果检索不到，可能会新建一个）。</p><p>  如果客户端请求不包含 SESSIONID，则为此客户端创建一个 Session 并且生成一个与此 Session 相关联的 SESSIONID。</p><p>  SESSIONID 的值应该是一个既不会重复，又不容易被找到规律以仿造的字符串，这个 SESSIONID 将被在本次响应中返回给客户端保存。</p><p>  保存这个 SESSIONID 的方式可以采用 Cookie，这样在交互过程中浏览器可以自动的按照规则把这个标识发挥给服务器。</p><p>  由于 Cookie 可以被人为的禁止，必须有其他机制以便在 Cookie 被禁止时仍然能够把 SESSIONID 传递回服务器。经常被使用的一种技术叫做 URL 重写，就是把 SESSIONID 直接附加在 URL 路径的后面，附加方式也有两种，表现形式为</p><pre><code>http://...../xxx;jsessionid=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764
http://...../xxx?jsessionid=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764
</code></pre><h2 id=httponly>HttpOnly</h2><pre><code>Set-Cookie: SESSIONID=abc123; expires=Wednesday, 17-Nov-99 23:12:40 GMT; HttpOnly     # 服务端发送 Cookie 的时候，可以设置 HTTP-Only
</code></pre><p>  这个参数的优点是不会被 js 获取，即使有 xss 漏洞，也获取不了 SESSIONID 相关的 Cookie 值。</p><h2 id=secure>Secure</h2><p>设置 Cookie 的某个值 Secure 为 True，则此 Cookie 只有在 HTTPS 协议中才会进行传输，HTTP 协议传输时，不传输此 Cookie。</p></article><div class=my-4><a href=https://b.hui.ke/tags/http-%E5%8D%8F%E8%AE%AE/ class="inline-block bg-tertiary-bg text-sm rounded px-3 py-1 my-1 me-2 hover:text-eureka">#HTTP 协议</a>
<a href=https://b.hui.ke/tags/%E5%93%8D%E5%BA%94%E5%A4%B4/ class="inline-block bg-tertiary-bg text-sm rounded px-3 py-1 my-1 me-2 hover:text-eureka">#响应头</a></div><div class=py-2><div class="my-8 flex flex-col items-center md:flex-row"><a href=https://b.hui.ke/authors/hui.ke/ class="md:me-4 text-primary-text h-24 w-24"><img src=https://b.hui.ke/bagua.webp class="bg-primary-bg w-full rounded-full" alt=Avatar></a><div class="mt-4 w-full md:mt-0 md:w-auto"><a href=https://b.hui.ke/authors/hui.ke/ class="mb-2 block border-b pb-1 text-lg font-bold"><h3>Hui.Ke</h3></a><span class="block pb-2">❤ Cyber Security | Safety is a priority.</span>
<a href=mailto:3199731997@qq.com class=me-2><i class="fas fa-envelope"></i></a>
<a href="https://wpa.qq.com/msgrd?v=3&uin=3199731997" class=me-2><i class="fab fa-qq"></i></a>
<a href=/images/aixinxianquan.webp class=me-2><i class="fab fa-weixin"></i></a></div></div></div><div class="-mx-2 mt-4 flex flex-col border-t px-2 pt-4 md:flex-row md:justify-between"><div><span class="text-primary-text block font-bold">Previous</span>
<a href=https://b.hui.ke/posts/itil-service-support/ class=block>ITIL 服务支持</a></div><div class="mt-4 md:mt-0 md:text-right"><span class="text-primary-text block font-bold">Next</span>
<a href=https://b.hui.ke/posts/cisp-pte-1/ class=block>CISP-PTE - 操作系统安全</a></div></div><div id=valine-comments class=mt-4></div><script defer src=https://cdn.jsdelivr.net/npm/valine@1.4.16/dist/Valine.min.js integrity=sha384-e0+DNUCJo75aOAzHQbFWYBCM9/S4f0BhRJXvEgbE3mMS85RM20MSSGStHuNdY2QK crossorigin></script>
<script>document.addEventListener("DOMContentLoaded",function(){new Valine({el:"#valine-comments",appId:"BQnVqWIiq78AdqwyhvBVAa3y-MdYXbMMI",appKey:"RKg5By312YjM8rU6WkkfK9IN",recordIP:"true",serverURLs:"https://l.hui.ke",visitor:"true"})})</script></div><div class=col-span-2><div class="bg-secondary-bg prose max-w-none rounded p-6"><h3>Series of Posts</h3><a href=https://b.hui.ke/posts/cisp-pte-3/ class=no-underline>CISP-PTE - Web 安全漏洞</a><br><a href=https://b.hui.ke/posts/cisp-pte-2/ class=no-underline>CISP-PTE - Web 安全基础</a><br><a href=https://b.hui.ke/posts/cisp-pte-1/ class=no-underline>CISP-PTE - 操作系统安全</a><br></div><div class="bg-primary-bg
prose sticky top-16 z-10 hidden px-6 py-4 lg:block"><h3>On This Page</h3></div><div class="sticky-toc hidden px-6 pb-6 lg:block"><nav id=TableOfContents><ul><li><a href=#http-协议>HTTP 协议</a><ul><li><a href=#http-请求方法>HTTP 请求方法</a><ul><li><a href=#http-10-的请求方法>HTTP 1.0 的请求方法</a></li><li><a href=#http-11-新增的请求方法>HTTP 1.1 新增的请求方法</a></li></ul></li><li><a href=#http-状态码>HTTP 状态码</a><ul><li><a href=#http-状态码的分类>HTTP 状态码的分类</a></li><li><a href=#http-状态码的含义>HTTP 状态码的含义</a></li></ul></li><li><a href=#http-协议响应头信息>HTTP 协议响应头信息</a><ul><li><a href=#http-响应头的类型>HTTP 响应头的类型</a></li><li><a href=#http-响应头的含义>HTTP 响应头的含义</a></li></ul></li><li><a href=#http-协议的-url>HTTP 协议的 URL</a><ul><li><a href=#url-的定义>URL 的定义</a></li><li><a href=#url-的格式>URL 的格式</a></li></ul></li></ul></li><li><a href=#系统敏感文件>系统敏感文件</a><ul><li><a href=#windows>Windows</a></li><li><a href=#linux>Linux</a></li></ul></li><li><a href=#cookie-机制>Cookie 机制</a></li><li><a href=#session-机制>Session 机制</a></li><li><a href=#httponly>HttpOnly</a></li><li><a href=#secure>Secure</a></li></ul></nav></div><script>window.addEventListener("DOMContentLoaded",()=>{enableStickyToc()})</script></div></div><script>document.addEventListener("DOMContentLoaded",()=>{hljs.highlightAll()})</script></div></div></main><footer class=pl-scrollbar><div class="mx-auto w-full max-w-screen-xl"><div class="text-center p-6 pin-b"><script async src=/js/click.js></script><div id=poem_ip></div><script type=text/javascript>jinrishici.load(function(e){tags.innerHTML=e.data.matchTags})</script><div><span id=timeDate>载入年天数...</span><span id=times>载入时分秒...</span>
<script async src=/js/duration.js></script></div><a href=https://www.foreverblog.cn/go.html target=_blank><img src=https://img.foreverblog.cn/wormhole_4_tp.gif alt style=display:inline-block;width:auto;height:32px title=穿梭虫洞-随机访问十年之约友链博客></a><p class="text-sm text-tertiary-text"><script async src=//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js></script>本站总访问量 <span id=busuanzi_value_site_pv></span> 次
&#183; 您是本站的第 <span id=busuanzi_value_site_uv></span> 个小伙伴</p><script async src=/js/tab.js></script></div></div></footer></body></html>